Docs: improve docs narrative around "ENSNode Plugins", "ENSDb Writers", and "ENSDb Readers".#2227
Docs: improve docs narrative around "ENSNode Plugins", "ENSDb Writers", and "ENSDb Readers".#2227tk-o wants to merge 13 commits into
Conversation
…-examples-content
New pages for ENSDb Writers, ENSDb Readers, and ENSNode Plugins. Update relevant links.
…iter-reader-ensnode-plugins
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
|
Warning Review limit reached
More reviews will be available in 26 minutes and 48 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughThis PR comprehensively refactors the ENSNode documentation to clarify the integration architecture by establishing three core concepts: ENSDb Writers (indexing applications like ENSIndexer and Envio), ENSDb Readers (query APIs like ENSApi), and ENSNode Plugins (data model specifications). ENSIndexer is repositioned as a reference implementation of an ENSDb Writer. ChangesENSDb & ENSNode Plugins Architecture
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR improves the documentation narrative around three key ENSNode concepts — ENSNode Plugins, ENSDb Writers, and ENSDb Readers — by adding dedicated integration guide pages for each and updating cross-references throughout the docs to use consistent canonical terminology.
Confidence Score: 5/5Pure documentation change with no runtime code modified; safe to merge. All changes are documentation and sidebar configuration. New pages link to pages that already exist in the repo. The two findings are copy-accuracy nits that do not affect site build or navigation. docs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/glossary.mdx — the new ENSDb Reader definition uses "the sole ENSDb Writer", which conflicts with the multi-tenant design described in the same file. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
EP["ENSNode Plugin\n(abstract spec)"]
EW["ENSDb Writer\ne.g. ENSIndexer, Envio"]
ER["ENSDb Reader\ne.g. ENSApi, ENSEngine"]
EMW["ENSDb Metadata Writer\n(part of ENSDb Writer)"]
EDB[("ENSDb Instance\n(PostgreSQL)")]
EP -->|implemented by| EW
EW -->|writes indexed data| EDB
EMW -->|writes metadata| EDB
EW -->|includes| EMW
ER -->|reads data + metadata| EDB
Reviews (4): Last reviewed commit: "Fix sidebar link desc" | Re-trigger Greptile |
There was a problem hiding this comment.
Pull request overview
This PR refines the documentation narrative around ENSNode Plugins, ENSDb Writers, and ENSDb Readers, positioning ENSIndexer/ENSApi explicitly as reference implementations and adding dedicated integration-option pages to explain the architecture and interoperability model.
Changes:
- Reframes ENSIndexer docs to describe it as an ENSDb Writer reference implementation and clarifies how it implements ENSNode Plugins.
- Expands the ENSDb glossary with definitions for ENSNode Plugin and ENSDb Metadata Writer, and updates related metadata terminology.
- Adds new integration-option pages for ENSDb Writers, ENSDb Readers, and ENSNode Plugins, and links them from the integration options index + sidebar.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/ensnode.io/src/content/docs/docs/services/ensindexer/index.mdx | Repositions ENSIndexer as a reference ENSDb Writer and links to glossary terminology. |
| docs/ensnode.io/src/content/docs/docs/services/ensindexer/contributing/creating-a-plugin.mdx | Renames/reframes the page to explain ENSNode Plugins and ENSIndexer’s plugin implementation structure. |
| docs/ensnode.io/src/content/docs/docs/services/ensdb/index.mdx | Updates “What you can build” section to point readers to integration inspirations. |
| docs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/glossary.mdx | Adds/updates key definitions (ENSNode Plugin, ENSDb Writer/Reader, Metadata Writer) and metadata terminology. |
| docs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdx | Updates wording/links to refer to Unigraph as an ENSNode Plugin implemented in ENSIndexer. |
| docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/concepts.mdx | Updates wording/links to refer to Unigraph as an ENSNode Plugin implemented in ENSIndexer. |
| docs/ensnode.io/src/content/docs/docs/integrate/integration-options/index.mdx | Adds new top-level integration options for Writers/Readers/Plugins and renumbers subsequent sections. |
| docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensnode-plugins.mdx | New page describing the ENSNode Plugin specification and listing core/community plugins. |
| docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb.mdx | Adds paragraph explaining ENSDb’s metadata spec and links to Writers/Readers pages. |
| docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb-writers.mdx | New page describing the ENSDb Writer spec and reference/partner implementations. |
| docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb-readers.mdx | New page describing the ENSDb Reader spec and reference reader apps. |
| docs/ensnode.io/src/content/docs/docs/integrate/ensv2-readiness.mdx | Updates wording/links to refer to Unigraph as an ENSNode Plugin implemented in ENSIndexer. |
| docs/ensnode.io/config/integrations/starlight/sidebar-topics/services.ts | Renames the ENSIndexer contributing sidebar item to “ENSNode Plugins”. |
| docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts | Adds sidebar entries for Writers/Readers/Plugins integration-option pages. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb-readers.mdx`:
- Around line 44-47: The LinkCard for "Learn more about ENSAnalytics (coming
soon)" is missing the required href prop; update the LinkCard component in
ensdb-readers.mdx to include an href (e.g., a placeholder route like
"/ensanalytics" or a temporary external URL) so the
`@astrojs/starlight/components` LinkCard receives a valid href, keeping the title
"ENSAnalytics" and description unchanged; ensure the href is a string literal
and points to the placeholder until the real route exists.
In
`@docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb-writers.mdx`:
- Line 11: The bullet under "writer responsibilities" contains a malformed
fragment "How to process onchain data into (including transforming raw onchain
data into a desired internal data model)"; replace it with a complete,
grammatical sentence such as "How to process on‑chain data, including
transforming raw on‑chain data into a desired internal data model" so the
responsibility reads clearly—update the writer responsibilities bullet in the
ENSDB writers section to use that full sentence.
In
`@docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb.mdx`:
- Line 14: Update the interoperability phrasing in the sentence referencing the
"ENSDb standard" so that it reads "...supports decoupling and interop with any
EnsDbReader implementation." Locate the sentence that mentions "EnsDbWriters",
"ENSDb instance" and "EnsDbReaders" and replace the fragment "interop with any
of EnsDbReaders" with "interop with any EnsDbReader implementation" to tighten
grammar and clarity.
In
`@docs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensnode-plugins.mdx`:
- Line 23: In the paragraph starting with "ENSNode Plugins are the key
architectural piece..." replace both occurrences of the phrase "standards
compliant" with the hyphenated form "standards-compliant" to make the compound
adjective consistent and improve readability; update the two instances that
describe an ENSDb Writer producing a "standards-compliant ENSDb" and an ENSDb
Reader being "standards-compliant" so both are hyphenated.
In `@docs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/glossary.mdx`:
- Line 70: Update the glossary sentence for ENSDb Reader to avoid "sole ENSDb
Writer" — in the ENSDb Reader definition replace "the sole [ENSDb
Writer](`#ensdb-writer`)" with either "an [ENSDb Writer](`#ensdb-writer`)" or "the
configured [ENSDb Writer](`#ensdb-writer`) for the reader context" so it aligns
with the multi-tenant model; edit the sentence in the ENSDb Reader paragraph in
glossary.mdx (the line containing "Any application that reads ENS data...")
accordingly.
- Around line 64-65: Update the broken self-link and grammar in the ENSDb
glossary sentence: change the relative link
"docs/services/ensdb/concepts/glossary#ensnode-metadata-table" to an absolute
path by adding a leading "/" (i.e.
"/docs/services/ensdb/concepts/glossary#ensnode-metadata-table") and fix the
agreement typo by replacing "instance that have" with "instance that has" in the
same paragraph referring to ENSIndexer and the ENSNode Metadata Table.
In
`@docs/ensnode.io/src/content/docs/docs/services/ensindexer/contributing/creating-a-plugin.mdx`:
- Around line 11-13: Replace the inconsistent glossary terms in this document:
change occurrences of `EnsDbWriter`, `EnsDbWriters`, and `EnsDbReaders` to the
canonical capitalized forms `ENSDb Writer`, `ENSDb Writers`, and `ENSDb Readers`
respectively so they match the rest of the docs; update both the inline mentions
and any link text (e.g., the two instances in the second paragraph and the first
sentence) while preserving existing links/URLs and surrounding punctuation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 17b3bbe3-d245-47a9-85d0-e73061144aee
📒 Files selected for processing (14)
docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.tsdocs/ensnode.io/config/integrations/starlight/sidebar-topics/services.tsdocs/ensnode.io/src/content/docs/docs/integrate/ensv2-readiness.mdxdocs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb-readers.mdxdocs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb-writers.mdxdocs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensdb.mdxdocs/ensnode.io/src/content/docs/docs/integrate/integration-options/ensnode-plugins.mdxdocs/ensnode.io/src/content/docs/docs/integrate/integration-options/index.mdxdocs/ensnode.io/src/content/docs/docs/integrate/omnigraph/concepts.mdxdocs/ensnode.io/src/content/docs/docs/integrate/unigraph/schema-reference.mdxdocs/ensnode.io/src/content/docs/docs/services/ensdb/concepts/glossary.mdxdocs/ensnode.io/src/content/docs/docs/services/ensdb/index.mdxdocs/ensnode.io/src/content/docs/docs/services/ensindexer/contributing/creating-a-plugin.mdxdocs/ensnode.io/src/content/docs/docs/services/ensindexer/index.mdx
|
@greptile review |
…iter-reader-ensnode-plugins
| </Aside> | ||
|
|
||
| ## What You Get |
| ### ENSDb Reader | ||
|
|
||
| Any application that reads ENS data from an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). For example, [ENSApi](#ensapi) is a reference implementation of an ENSDb Reader. Other implementations of ENSDb Readers can be built in any language, and can serve different types of APIs (GraphQL, REST, gRPC, etc.), as long as they follow the ENSDb Standard. | ||
| Any application that reads ENS data from an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). It knows how to read state from ENSDb, including overall metadata from the sole [ENSDb Writer](#ensdb-writer) and (where relevant) data associated with the [ENSNode Plugins](#ensnode-plugin) relevant to the specific ENSDb Reader implementation. For example, [ENSApi](#ensapi) is a reference implementation of an ENSDb Reader. Other implementations of ENSDb Readers can be built in any language, and can serve different types of APIs (GraphQL, REST, gRPC, etc.), as long as they follow the ENSDb Standard. |
There was a problem hiding this comment.
@tk-o This looks like a fair suggestion from Copilot
| <LinkCard | ||
| title="Learn more about ENSAnalytics (coming soon)" | ||
| description="A web service that provides analytics and insights on ENS data." | ||
| href="#" | ||
| /> |
There was a problem hiding this comment.
@tk-o Please action this important feedback from Copilot.
lightwalker-eth
left a comment
There was a problem hiding this comment.
@tk-o Thanks. Reviewed and shared feedback
| ### ENSDb Writer | ||
|
|
||
| Any application that writes ENS data into an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). For example, [ENSIndexer](#ensindexer) is a reference implementation of an ENSDb Writer. Other implementations of ENSDb Writers can be built in any language, and can use different indexing frameworks (i.e. [Ponder](https://ponder.sh/), [rindexer](https://rindexer.xyz/)), as long as they follow the ENSDb Standard. | ||
| Any application that implements one or more standard-compliant [ENSNode Plugins](#ensnode-plugin) and includes an [ENSDb Metadata Writer](#ensdb-metadata-writer), writing ENS data into an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). For example, [ENSIndexer](#ensindexer) is a reference implementation of an ENSDb Writer. Other implementations of ENSDb Writers can be built in any language, and can use different indexing frameworks (i.e. [Ponder](https://ponder.sh/), [Envio](https://envio.dev/), [rindexer](https://rindexer.xyz/)), as long as they follow the ENSDb Standard. |
There was a problem hiding this comment.
| Any application that implements one or more standard-compliant [ENSNode Plugins](#ensnode-plugin) and includes an [ENSDb Metadata Writer](#ensdb-metadata-writer), writing ENS data into an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). For example, [ENSIndexer](#ensindexer) is a reference implementation of an ENSDb Writer. Other implementations of ENSDb Writers can be built in any language, and can use different indexing frameworks (i.e. [Ponder](https://ponder.sh/), [Envio](https://envio.dev/), [rindexer](https://rindexer.xyz/)), as long as they follow the ENSDb Standard. | |
| Any application that implements one or more standard-compliant [ENSNode Plugins](#ensnode-plugin) and includes an [ENSDb Metadata Writer](#ensdb-metadata-writer), writing ENS data into an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). For example, [ENSIndexer](#ensindexer) is a reference implementation of an ENSDb Writer. Other implementations of ENSDb Writers can be built in any language, and can use different indexing frameworks (i.e. [Ponder](https://ponder.sh/), [Envio](https://envio.dev/), [rindexer](https://rindexer.xyz/)), [Amp](https://ampup.sh/) from Edge & Node, etc as long as they follow the ENSDb Standard. |
| ### ENSDb Reader | ||
|
|
||
| Any application that reads ENS data from an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). For example, [ENSApi](#ensapi) is a reference implementation of an ENSDb Reader. Other implementations of ENSDb Readers can be built in any language, and can serve different types of APIs (GraphQL, REST, gRPC, etc.), as long as they follow the ENSDb Standard. | ||
| Any application that reads ENS data from an [ENSDb instance](#ensdb-instance) following the [ENSDb Standard](#ensdb-standard). It knows how to read state from ENSDb, including overall metadata from the sole [ENSDb Writer](#ensdb-writer) and (where relevant) data associated with the [ENSNode Plugins](#ensnode-plugin) relevant to the specific ENSDb Reader implementation. For example, [ENSApi](#ensapi) is a reference implementation of an ENSDb Reader. Other implementations of ENSDb Readers can be built in any language, and can serve different types of APIs (GraphQL, REST, gRPC, etc.), as long as they follow the ENSDb Standard. |
There was a problem hiding this comment.
@tk-o This looks like a fair suggestion from Copilot
| The **Unigraph** is the entire collection of these disjoint ENSv2 Namegraphs and multiple ENSv1 Nametables, combined together into a single unified data model using ENS Resolution semantics. Navigating the Unigraph from `"eth"` down to `"vitalik.eth"` and beyond looks identical regardless of whether the underlying entities are ENSv1 or ENSv2. | ||
|
|
||
| The [`unigraph` plugin](/docs/services/ensindexer) in ENSIndexer is what builds this unified model. The Unigraph constructs two Namegraphs, one rooted at the ENSv1 Root Registry and another rooted at the ENSv2 Root Registry. It's also where multichain coverage lives: Basenames (`.base.eth`), Lineanames (`.linea.eth`), and 3DNS names (`.box`) are all stitched into the ENSv1 Namegraph. | ||
| The `unigraph` [ENSNode plugin](/docs/integrate/integration-options/ensnode-plugins), implemented in [ENSIndexer](/docs/services/ensindexer), is what builds this unified model. The Unigraph constructs two Namegraphs, one rooted at the ENSv1 Root Registry and another rooted at the ENSv2 Root Registry. It's also where multichain coverage lives: Basenames (`.base.eth`), Lineanames (`.linea.eth`), and 3DNS names (`.box`) are all stitched into the ENSv1 Namegraph. |
There was a problem hiding this comment.
| The `unigraph` [ENSNode plugin](/docs/integrate/integration-options/ensnode-plugins), implemented in [ENSIndexer](/docs/services/ensindexer), is what builds this unified model. The Unigraph constructs two Namegraphs, one rooted at the ENSv1 Root Registry and another rooted at the ENSv2 Root Registry. It's also where multichain coverage lives: Basenames (`.base.eth`), Lineanames (`.linea.eth`), and 3DNS names (`.box`) are all stitched into the ENSv1 Namegraph. | |
| The `unigraph` [ENSNode plugin](/docs/integrate/integration-options/ensnode-plugins), implemented in [ENSIndexer](/docs/services/ensindexer), is what builds this unified model. The Unigraph constructs two Namegraphs, one rooted at the ENSv1 Root Registry and another rooted at the ENSv2 Root Registry. It also includes special support for unifying multiple ENSv1 Nametables across multiple chains into the unigraph, including: Basenames (`.base.eth`), Lineanames (`.linea.eth`), and 3DNS names (`.box`). |
| For special use cases that go beyond what the ENS Omnigraph exposes — you can query the live onchain state of both **ENSv1 and ENSv2** directly via `SQL`. | ||
|
|
||
| **ENSDb** is a bi-directional integration standard for any EnsDbWriter and EnsDbReader implementations to coordinate around the live unified onchain state of ENSv1 **and ENSv2** in a carefully-crafted standardized data model within a PostgreSQL database. Because ENSDb builds on Postgres, you can use _any_ language with a Postgres driver — **TypeScript**, **Python**, **Rust**, **Go**, and more. | ||
| **ENSDb** is a bi-directional integration standard for any ENSDb Writer and ENSDb Reader implementations to coordinate around the live unified onchain state of ENSv1 **and ENSv2** in a carefully-crafted standardized data model within a PostgreSQL database. Because ENSDb builds on Postgres, you can use _any_ language with a Postgres driver — **TypeScript**, **Python**, **Rust**, **Go**, and more. |
There was a problem hiding this comment.
| **ENSDb** is a bi-directional integration standard for any ENSDb Writer and ENSDb Reader implementations to coordinate around the live unified onchain state of ENSv1 **and ENSv2** in a carefully-crafted standardized data model within a PostgreSQL database. Because ENSDb builds on Postgres, you can use _any_ language with a Postgres driver — **TypeScript**, **Python**, **Rust**, **Go**, and more. | |
| The bi-directional [ENSDb integration standard](/docs/services/ensdb/concepts/glossary#ensdb-standard) enables any decoupled [ENSDb Writer](/docs/integrate/integration-options/ensdb-writers) and [ENSDb Reader](/docs/integrate/integration-options/ensdb-readers) implementations to coordinate around the live unified onchain state of **ENSv1 and ENSv2** in a carefully-crafted standardized data model within a PostgreSQL database. Because ENSDb builds on Postgres, you can use _any_ language with a Postgres driver — **TypeScript**, **Python**, **Rust**, **Go**, and more. |
| **ENSDb** is a bi-directional integration standard for any EnsDbWriter and EnsDbReader implementations to coordinate around the live unified onchain state of ENSv1 **and ENSv2** in a carefully-crafted standardized data model within a PostgreSQL database. Because ENSDb builds on Postgres, you can use _any_ language with a Postgres driver — **TypeScript**, **Python**, **Rust**, **Go**, and more. | ||
| **ENSDb** is a bi-directional integration standard for any ENSDb Writer and ENSDb Reader implementations to coordinate around the live unified onchain state of ENSv1 **and ENSv2** in a carefully-crafted standardized data model within a PostgreSQL database. Because ENSDb builds on Postgres, you can use _any_ language with a Postgres driver — **TypeScript**, **Python**, **Rust**, **Go**, and more. | ||
|
|
||
| The [ENSDb standard](/docs/services/ensdb/concepts/glossary#ensdb-standard) also defines _the abstract specification_ for how [ENSDb Writers](/docs/integrate/integration-options/ensdb-writers) store their [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) in an [ENSDb instance](/docs/services/ensdb/concepts/glossary#ensdb-instance) in a manner that supports decoupling and interop with any of [ENSDb Readers](/docs/integrate/integration-options/ensdb-readers). |
There was a problem hiding this comment.
| The [ENSDb standard](/docs/services/ensdb/concepts/glossary#ensdb-standard) also defines _the abstract specification_ for how [ENSDb Writers](/docs/integrate/integration-options/ensdb-writers) store their [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) in an [ENSDb instance](/docs/services/ensdb/concepts/glossary#ensdb-instance) in a manner that supports decoupling and interop with any of [ENSDb Readers](/docs/integrate/integration-options/ensdb-readers). | |
| The ENSDb standard also defines _the abstract specification_ for how ENSDb Writers store their [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) in an [ENSDb instance](/docs/services/ensdb/concepts/glossary#ensdb-instance). |
|
|
||
| ### ENSApi | ||
|
|
||
| ENSApi is a reference implementation of an [ENSDb Reader](/docs/services/ensdb/concepts/glossary#ensdb-reader) that includes standards-compliant web services: |
There was a problem hiding this comment.
| ENSApi is a reference implementation of an [ENSDb Reader](/docs/services/ensdb/concepts/glossary#ensdb-reader) that includes standards-compliant web services: | |
| ENSApi is a reference implementation of an [ENSDb Reader](/docs/services/ensdb/concepts/glossary#ensdb-reader) that includes the following APIs: |
|
|
||
| ENSApi is a reference implementation of an [ENSDb Reader](/docs/services/ensdb/concepts/glossary#ensdb-reader) that includes standards-compliant web services: | ||
|
|
||
| - A standards-compliant [ENS Omnigraph GraphQL API](/docs/integrate/integration-options/omnigraph-graphql-api) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `unigraph` and `protocol-acceleration`. |
There was a problem hiding this comment.
| - A standards-compliant [ENS Omnigraph GraphQL API](/docs/integrate/integration-options/omnigraph-graphql-api) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `unigraph` and `protocol-acceleration`. | |
| - The new [ENS Omnigraph GraphQL API](/docs/integrate/integration-options/omnigraph-graphql-api) that's built on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `unigraph` and `protocol-acceleration`. |
| ENSApi is a reference implementation of an [ENSDb Reader](/docs/services/ensdb/concepts/glossary#ensdb-reader) that includes standards-compliant web services: | ||
|
|
||
| - A standards-compliant [ENS Omnigraph GraphQL API](/docs/integrate/integration-options/omnigraph-graphql-api) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `unigraph` and `protocol-acceleration`. | ||
| - A standards-compliant [ENS Subgraph GraphQL API](/docs/integrate/ens-subgraph) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `subgraph`, `basenames`, `lineanames`, and `threedns`. |
There was a problem hiding this comment.
| - A standards-compliant [ENS Subgraph GraphQL API](/docs/integrate/ens-subgraph) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `subgraph`, `basenames`, `lineanames`, and `threedns`. | |
| - A backwards-compatible [ENS Subgraph GraphQL API](/docs/integrate/ens-subgraph) that's built on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `subgraph`, `basenames`, `lineanames`, and `threedns`. |
|
|
||
| - A standards-compliant [ENS Omnigraph GraphQL API](/docs/integrate/integration-options/omnigraph-graphql-api) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `unigraph` and `protocol-acceleration`. | ||
| - A standards-compliant [ENS Subgraph GraphQL API](/docs/integrate/ens-subgraph) on top of [ENSNode Plugins](/docs/integrate/integration-options/ensnode-plugins) such as `subgraph`, `basenames`, `lineanames`, and `threedns`. | ||
| - An API for accessing the metadata stored in ENSDb, including [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) about the indexing status from the [ENSDb Writer](/docs/services/ensdb/concepts/glossary#ensdb-writer) and [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) about the overall [ENSNode stack of services](/docs/services) active in the ENSNode instance. |
There was a problem hiding this comment.
| - An API for accessing the metadata stored in ENSDb, including [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) about the indexing status from the [ENSDb Writer](/docs/services/ensdb/concepts/glossary#ensdb-writer) and [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) about the overall [ENSNode stack of services](/docs/services) active in the ENSNode instance. | |
| - APIs for various queries related to the the metadata stored in ENSDb, such as the indexing status from the [ENSDb Writer](/docs/services/ensdb/concepts/glossary#ensdb-writer) and [metadata](/docs/services/ensdb/concepts/glossary#indexing-metadata-context) about the overall [ENSNode stack of services](/docs/services) active in the ENSNode instance. |
|
|
||
| <LinkCard | ||
| title="Learn more about ENSEngine" | ||
| description="A push-based web service allowing to track ENS data changes in real-time." |
There was a problem hiding this comment.
| description="A push-based web service allowing to track ENS data changes in real-time." | |
| description="A push-based web service allowing you to track ENS data changes as they occur." |
lightwalker-eth
left a comment
There was a problem hiding this comment.
@tk-o Thanks. Reviewed and shared feedback
This PR is a followup to PR #2199, and PR #2202, and addresses the "Big Feedback" (point 11. and 17.) section the doc discussed in this thread, as well as the feedback shared in this thread.